package com.ld;

import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;

/**
 * @Author xiao hu die
 * @Date 2021/12/6 20:35
 * @Version 1.0
 */
public class Test {
    /** 发件人邮箱地址*/
    private String from = "ljl1357494913@126.com";
    /** 发件人称号，同邮箱地址*/
    private String user = "ljl1357494913@126.com";
    /** 发件人邮箱客户端授权码*/
    private String password = "TRVQNYGKFOCGJRWZ";

    public boolean sendMail(String to, String text, String title) {
        Properties props = new Properties();
        /**设置发送邮件的邮件服务器的属性（这里使用网易的smtp服务器）必须使用*/
        props.setProperty("mail.smtp.host", "smtp.126.com");
        /**需要经过授权，也就是有户名和密码的校验，这样才能通过验证（一定要有这一条）必须使用网易邮箱的固定格式*/
        props.put("mail.smtp.host", "smtp.126.com");
        /**用刚刚设置好的props对象构建一个session*/
        props.put("mail.smtp.auth", "true");
        /**有了这句便可以在发送邮件的过程中在console处显示过程信息，供调试使
          用（你可以在控制台（console)上看到发送邮件的过程）*/
        Session session = Session.getDefaultInstance(props);
        /**关闭增加性能*/
       // session.setDebug(true); // 用session为参数定义消息对象
         /**加载发件人地址*/
        MimeMessage message = new MimeMessage(session);
        try {
            message.setFrom(new InternetAddress(from));
            /**加载收件人地址*/
            message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
            /**加载标题(可以在这个地方定死，节约损耗)*/
            message.setSubject(title);
            Multipart multipart = new MimeMultipart(); // 向multipart对象中添加邮件的各个部分内容，包括文本内容和附件
            BodyPart contentPart = new MimeBodyPart(); // 设置邮件的文本内容
            contentPart.setContent(text, "text/html;charset=utf-8");
            multipart.addBodyPart(contentPart);
            message.setContent(multipart);
            message.saveChanges(); // 保存变化
            Transport transport = session.getTransport("smtp"); // 连接服务器的邮箱
            transport.connect("smtp.126.com", user, password); // 把邮件发送出去
            transport.sendMessage(message, message.getAllRecipients());
            transport.close();
        } catch (MessagingException e) {
            e.printStackTrace();
            System.out.println("发送邮件失败");
            return false;
        }
        return true;
    }

    public static void main(String[] args) {
        List<String> list =new ArrayList<>();
        list.add("1357494913@qq.com");
        list.add("825257335@qq.com");
        list.add("3010930230@qq.com");
        list.add("1813158103@qq.com");
        list.add("1910004633@qq.com");
        list.add("506490669@qq.com");
        list.add("1733372394@qq.com");
        for (String s : list) {
            Test ds = new Test();
            ds.sendMail(s,"你好，祝你天天开心","来自小蝴蝶的祝福");
            System.out.println("发给"+s+"成功") ;
        }

    }
}



